package com.gdpu.liou.symphonyserver.mapper;

import com.gdpu.liou.symphonyserver.entity.Singer;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 歌手dao
 * @author liou
 */
@Repository
public interface SingerMapper {

    /**
     * 增加歌手
     */
    public int insert(Singer singer);

    /**
     * 修改歌手
     */
    public int update(Singer singer);

    /**
     * 删除歌手
     */
    public int delete(Integer id);

    /**
     * 查询歌手：根据主键
     */
    public Singer selectByPrimaryKey(Integer id);

    /**
     * 查询所有歌手
     */
    public List<Singer> selectAllSinger();

    /**
     * 查询歌手集合：根据名字模糊查询
     */
    public List<Singer> selectByName(String name);

    /**
     * 查询歌手集合：根据性别
     */
    public List<Singer> selectBySex(Integer sex);

    /**
     * 分页查询歌手
     */
    List<Singer> selectPagingData(@Param("start") Integer start,
                                  @Param("pageSize") Integer pageSize,
                                  @Param("name") String name);

    /**
     * 查询歌手总数
     */
    Integer selectTotalSinger(@Param("name") String name);


    /**
     * 查询精选歌手列表
     * @return 歌手列表
     */
    List<Singer> selectSingerSelected();
}
